--The videodisc drivers in this stack are courtesy of
--The Voyager Company,
--Pacific Coast Highway
--Santa Monica, CA 90401
--(213) 451-1383.
--They may NOT be used in any commercial product without permission
--from the Voyager Company
on openStack
global positiveCard, optionsData
set the UserLevel to 5
if the short Name of this stack is "HyperTEACH"
then
put empty into fld "Positive Data"
put "0" into word 1 of fld "Options"
put "50" into word 2 of fld "Options"
put "te" into word 3 of fld "Options"
put "te" into word 4 of fld "Options"
answer "This is your master copy of HyperTEACH. Do you want to start a new stack?" WITH "No" OR "Yes"
if it is "Yes"
then
ask "Name of your new stack:" with "Type file name here."
put it into newName
create stack newName with bg "MSTR"
exit openStack
else
ASK "You are about to exit the program!" with "OK"
if it is "me"
then
exit openStack
else
doMenu "Quit HyperCard"
end if
end if
end if
video init
put fld "Positive Data" into positiveCard
put fld "Options" into optionsData
--tells the location of the Positive feedback cards & keeps track
--of options
if word 3 of optionsData contains "te"
then
put "This is" && the long name of this stack && "."
put "Teacher" after menu "Go" with menuMessage showTeach
set commandChar of menuItem "Teacher" of menu "Go" to "T"
hide menubar
show bg btn "Right"
show bg btn "Left"
set the userLevel to 5
palette "Teacher", "30, 50"
else
if word 3 of optionsData contains "st"
then
reset menubar
hide menubar
hide message
hide bg btn "Right"
hide bg btn "Left"
hide tool window
hide message
if there is a window "Teacher"
then
close window "Teacher"
end if
set the userLevel to 3
end if
end if
pass openStack
end openStack
on closeStack
if there is a window "Teacher"
then
close window "Teacher"
end if
reset menubar
pass closeStack
end closeStack
on idle
if the short name of this stack is "HyperTEACH"
then
if the number of cards > 1
then
answer "This is your master HyperTEACH stack. It should have only one card; it currently has" && the number of cards && "cards. The extra is being removed." with "Oops!!!"
go last
doMenu "Cut card"
end if
end if
pass idle
end idle
on showTeach
if there is a window "Teacher"
then
close window "Teacher"
else
palette "Teacher", "30, 50"
end if
end showTeach
on returnKey
choose browse tool
pass returnKey
end returnKey
on arrowKey
end arrowKey
on pushIt
lock screen
push this card
go bg "MSTR"
end pushIt
on changeSpecs
global optionsData
if the shiftKey is down
then
answer "Do you want to change the USER (Teacher or Student) or the PAUSE after feedback?" with "USER" or "PAUSE"
pushIt
if it is "USER" then userChange
if it is "PAUSE" then pauseFdbk
end if
pop card
end changeSpecs
on pauseFdbk
global optionsData
answer "Set the pause on feedback after correct pages to 50 or 100 ticks?" with "50" or "100"
if it is "50"
then
set the cursor to watch
lock screen
put 50 into word 2 of fld "Options"
put 50 into word 2 of optionsData
unlock screen
else
set the cursor to watch
lock screen
put 100 into word 2 of fld "Options"
put 100 into word 2 of optionsData
unlock screen
end if
end pauseFdbk
on userChange
global optionsData
answer "Set for Student or Teacher use?" with "Student" or "Teacher"
if it is "Student"
then
put st into word 3 of fld "Options"
put st into word 3 of optionsData
if there is a window "Teacher"
then
close window "Teacher"
end if
reset menubar
hide menubar
hide bg btn "Right"
hide bg btn "Left"
hide tool window
set the userLevel to 2
end if
if it is "Teacher"
then
put te into word 3 of fld "Options"
put te into word 3 of optionsData
put "Teacher" after menu "Go" with menuMessage showTeach
set commandChar of menuItem "Teacher" of menu "Go" to "T"
hide menubar
palette "Teacher", "30, 50"
show bg btn "Right"
show bg btn "Left"
set the userLevel to 5
end if
end userChange
on doMenu item
if item is "Cut Button" or item is "Clear Button"
then
answer "If you are trying to remove a smiley face from a page, use the cut page icon below." with "OK"
exit doMenu
end if
if item is "Delete Stack..."
then
answer "Cannot delete this stack." with "OK"
exit doMenu
end if
pass doMenu
end doMenu
on teach
palette "Teacher", "30, 50"
end teach
on showTool
global optionsData
if word 4 of optionsData contains "st"
then
Answer "You are in student preview mode. Click on the EYE icon to change to the teacher mode and try again." with "OK"
exit showTool
end if
show Tool window at 444,32
end showTool
on newPage
global optionsData
if word 4 of optionsData contains "st"
then
Answer "You are in student preview mode. Click on the EYE icon to change to the teacher mode and try again." with "OK"
exit newPage
end if
answer "New page on existing background or a new background?" with "New" or "Existing"
if it is "Existing"
then
doPageBtn
else
doNewBg
end if
end newPage
on doPageBtn
answer "New card before or after this card?" with "Before" or "After"
if it is "Before"
then
lock screen
go previous
doMenu new card
unlock screen
else
doMenu new card
end if
end doPageBtn
on doNewBg
lock screen
set the cursor to busy
go last cd of bg (the number of backgrounds)
doMenu "New Background"
go bg "MSTR"
choose the lasso tool
doMenu "Select All"
doMenu "Copy Picture"
go bg (the number of backgrounds)
doMenu "Paste Picture"
go bg "MSTR"
choose button tool
click at the loc of bg btn "Left"
doMenu "Copy Button"
go bg (the number of backgrounds)
doMenu "Paste Button"
go bg "MSTR"
choose button tool
click at the loc of bg btn "Right"
doMenu "Copy Button"
go bg (the number of backgrounds)
doMenu "Paste Button"
go bg "MSTR"
choose fld tool
click at the loc of fld "Page"
doMenu "Copy Field"
go bg (the number of backgrounds)
doMenu "Paste Field"
set the script of bg(the number of backgrounds) to "on openCard" & return & "put the number of this card into fld" && quote & "Page" & quote & return & "put" && quote && "of" && quote && "& the number of cards after fld" && quote & "Page" & quote & return & "pass openCard" & return & "end openCard"
answer "You are on your new background. When you are ready to be on the card level, use Command-B to leave the background."
choose browse tool
go prev
go next
end doNewBg
on makeField
global optionsData
if word 4 of optionsData contains "st"
then
Answer "You are in student preview mode. Click on the EYE icon to change to the teacher mode and try again." with "OK"
exit makeField
end if
choose browse tool
set the cursor to watch
doMenu New Field
show tool window at 443,20
answer "Size the field by pulling on a corner and then dragging it where you want it." with "OK"
end makeField
on linkPage
global optionsData
if word 4 of optionsData contains "st"
then
Answer "You are in student preview mode. Click on the EYE icon to change to the teacher mode and try again." with "OK"
exit linkPage
end if
choose browse tool
ask "You are on card" && the number of this cd & ". What card do you want to link TO?" with the number of this cd + 1
if it < 1 or it > the number of cards
then
ask "You are on card" && the number of this cd & ". What card do you want to link TO?" with the number of this cd + 1
if it < 1 or it > the number of cards
then
answer "Can't link to card" && it & "." with "Cancel"
exit linkPage
else
makeLinkBtn it
end if
end if
makeLinkBtn it
end linkPage
on makeLinkBtn linkNum
lock screen
set the cursor to watch
doMenu "New Button"
set the script of btn (the number of buttons) to "on mouseUp" & return & "visual effect scroll left slowly" & return & "go cd" && linkNum & return & "end mouseUp"
set the icon of btn (the number of buttons) to 1013
set the style of btn (the number of buttons) to transparent
set showName of btn (the number of buttons) to false
set autohilite of btn (the number of buttons) to true
answer "Size the button; drag it to where you want it; then choose the Browse tool." with "OK"
unlock screen
end makeLinkBtn
on makeVideo
global cavClv, theResult, optionsData
if word 4 of optionsData contains "st"
then
Answer "You are in student preview mode. Click on the EYE icon to change to the teacher mode and try again." with "OK"
exit makeVideo
end if
if there is a stack "Audio Help" then
start using stack "Audio Help"
send "startSound" to stack "Audio Help"
answer "Prepare an audio sequence or a video button?" with "Audio" or "Video"
if it is "Audio"
then
doMenu "Audio..."
exit makeVideo
else
end if
end if
choose browse tool
put empty into cavClv
video getStatus
put item 3 of the result into theResult
if theResult contains "CAV"
THEN
GETFRAMESEQ
ELSE
if theResult contains "CLV"
THEN SEQUENCEVIDEO
ELSE
askType
if cavClv is empty then exit makeVideo
if cavClv contains "CAV"
then
getFrameSeq
ELSE
if cavClv contains "CLV"
then
sequenceVideo
end if
end if
end if
end if
end makeVideo
on askType
global cavClv
answer "What kind of videodisc will you be using? Will it be standard play (CAV) or extended play (CLV)?" with "CAV" or "CLV" or "Exit"
if it is "CAV"
then
put "CAV" into cavClv
else
if it is "CLV"
then
put "CLV" into cavClv
else
exit askType
end if
end if
end askType
on getFrameSeq
answer "Single frame or sequence?" with "Frame" or "Sequence"
if it is "Frame"
then
frameVideo
else
sequenceVideo
end if
end getFrameSeq
on frameVideo
ask "What is the framenumber?"
put it into frameNum
doMenu "New Button"
set the script of btn(number of btns) to "on mouseUp" & return & "video search," & frameNum & return & "end mouseUp"
set the icon of btn(number of btns) to 14575
set the style of btn(number of btns) to transparent
set showname of btn(number of btns) to false
set the autoHilite of btn(number of btns)to true
set the rect of btn(number of btns) to 393, 277, 424, 301
end frameVideo
on sequenceVideo
global cavClv, theResult
ask "What is the starting number?"
put it into frameStartNum
ask "What is the ending number?"
put it into frameEndNum
lock screen
doMenu "New Button"
if cavClc contains "CLV" or theResult contains "CLV"
then
set the script of btn(number of btns) to "on mouseUp" & return & "video play," & frameStartNum & "," & frameEndNum & ",time" && return & "end mouseUp"
else
if cavClc contains "CAV" or theResult contains "CAV"
then
set the script of btn(number of btns) to "on mouseUp" & return & "video play," & frameStartNum & "," & frameEndNum && return & "end mouseUp"
end if
end if
set the icon of btn(number of btns) to 14575
set the style of btn(number of btns) to transparent
set showname of btn(number of btns) to false
set the autoHilite of btn(number of btns)to true
set the rect of btn(number of btns) to 393, 277, 424, 301
end sequenceVideo
on posLink --goes with the + item on palette "Teacher"
global optionsData
if word 4 of optionsData contains "st"
then
Answer "You are in student preview mode. Click on the EYE icon to change to the teacher mode and try again." with "OK"
exit posLink
end if
choose browse tool
lock screen
answer "Your 'Positive Feedback' cards must be set up before this button will work properly." with "Cancel" or "Continue"
if it is "Cancel"
then
exit posLink
else
posLinkBtn
end if
click at the loc of btn (the number of buttons)
unlock screen
end posLink
on posLinkBtn --goes with the + item on palette "Teacher"
lock screen
set the cursor to watch
answer "Random or specific positive feedback?" with "Specific" or "Random"
put it into choice
if choice is "Random"
then
ask "Number or name (ONE word!) of the card you want to go TO, AFTER the positive feedback?"
else
ask "Number or name (ONE word!) of the specific positive feedback card you want to go to?"
end if
put it into check
put the number of words in check into num
if (num > 1 or num = 0)
then
answer "You can enter only one number or one word, but you must have at least one. You had " && num && "items. Click the + button on the Teacher palette and try again." with "Oops!"
exit posLinkBtn
else
if choice is "random"
then
doMenu "New Button"
set the script of btn (the number of buttons) to "on mouseUp" & return & "global optionsData" & return & "put word 2 of optionsData into time" & return & "put random (the number of words in fld" && quote & "Positive Data" & quote & ")" && "into numb" & return & "put word numb of fld" && quote & "Positive Data" & quote && "into newNumb" & return & "visual effect scroll left slow" & return & "go cd id newNumb" & return & "wait time" & return & "visual effect scroll left" & return & "go card" && check & return & "end mouseUp"
else
doMenu "New Button"
set the script of btn (the number of buttons) to "on mouseUp" & return & "visual effect scroll left slow" & return & "go card" && check & return & "end mouseUp"
end if
set the style of btn (the number of buttons) to checkBox
set showName of btn (the number of buttons) to false
show btn (the number of buttons) at 150,150
set rect of btn(the number of buttons) to 100,139,118,154
unlock screen
end if
end posLinkBtn
on posBtn --goes with smiley face
global optionsData, positiveCard
if word 4 of optionsData contains "st"
then
Answer "You are in student preview mode. Click on the EYE icon to change to the teacher mode and try again." with "OK"
exit posBtn
end if
choose browse tool
answer "You must be on the page that you want to make a 'Positive Feedback' page." with "I am!" or "Cancel"
if it is "Cancel"
then
exit posBtn
else
lock screen
doMenu "New Button"
set the rect of btn (the number of buttons) to 4,2,40,50
set the style of btn (the number of buttons) to transparent
set showName of btn (the number of buttons) to false
set the icon of btn (the number of buttons) to 26465
choose the browse tool
end if
set the cursor to busy
put the short id of this card into idNum
lock screen
pushIt
if fld "Positive Data" is empty
then
put idNum into fld "Positive Data"
put fld "Positive Data" into positiveCard
else
put " " & idNum after fld "Positive Data"
put fld "Positive Data" into positiveCard
end if
pop card
end posBtn
on negLink --goes with the - icon on the palette "Teacher"
global optionsData
if word 4 of optionsData contains "st"
then
Answer "You are in student preview mode. Click on the EYE icon to change to the teacher mode and try again." with "OK"
exit negLink
end if
choose browse tool
lock screen
answer "This prepares a button for an incorrect response. You must know the page number of the 'Try again' page you want to link to. Is that what you want to do?" with "Cancel" or "Yes"
if it is "Cancel"
then
exit negLink
else
doNegBtn
end if
end negLink
on doNegBtn --goes with the - icon on the palette "Teacher"
lock screen
set the cursor to watch
ask "Number or name (ONE word!) of the INCORRECT FEEDBACK CARD?"
put it into destination
answer "Is the student to go back or continue on after the feedback?" with "Continue" or "Go back"
put it into theResponse
if theResponse is "Continue"
then
ask "Continue to what card?"
put it into setPage
push this cd
go cd destination
hide btn "Click on me to try again"
show btn "Go on"
put the script of btn "Go on" into tempScript
put setPage into word 3 of line 3 of tempScript
set the script of btn "Go on" to tempScript
choose browse tool
pop card
end if
domenu "New Button"
if theResponse is "Go back"
then
set the script of btn (the number of buttons) to "on mouseUp" & return & "push this card" & return & "visual effect shrink to center" & return & "go card" && destination & return & "end mouseUp"
else
set the script of btn (the number of buttons) to "on mouseUp" & return & "visual effect shrink to center" & return & "go card" && destination & return & "end mouseUp"
end if
set the style of btn (the number of buttons) to checkBox
set showName of btn (the number of buttons) to false
set rect of btn(the number of buttons) to 100,139,118,154
unlock screen
end doNegBtn
on negBtn --goes with the unhappy face on palette "Teacher
global optionsData
if word 4 of optionsData contains "st"
then
Answer "You are in student preview mode. Click on the EYE icon to change to the teacher mode and try again." with "OK"
exit negBtn
end if
choose browse tool
lock screen
answer "You must be on the page that you want to make an 'Incorrect Response' page." with "I am!" or "Cancel"
if it is "Cancel"
then
exit negBtn
else
doNegFaceBtn
end if
choose browse tool
unlock screen
end negBtn
on doNegFaceBtn --goes with the unhappy face on palette "Teacher"
doMenu "New Button"
set the rect of btn (the number of buttons) to 189,260,309,309
set the style of btn (the number of buttons) to shadow
set showName of btn (the number of buttons) to true
set the icon of btn (the number of buttons) to 32595
set the script of btn (the number of buttons) to "on mouseUp" & return & "visual effect stretch from center" & return & "pop card" & return & "end mouseUp"
set the name of btn (the number of buttons) to "Click on me to try again"
doMenu "New Button"
set the rect of btn (the number of buttons) to 189,260,309,309
set the style of btn (the number of buttons) to shadow
set showName of btn (the number of buttons) to true
set the icon of btn (the number of buttons) to 32595
set the script of btn (the number of buttons) to "on mouseUp" & return & "visual effect stretch from center" & return & "go cd 4" & return & "end mouseUp"
set the name of btn (the number of buttons) to "Go on"
hide button "Go on"
end doNegFaceBtn
on studentView
global optionsData
lock screen
set the cursor to busy
if word 4 of optionsData contains "te"
then
repeat with i = 1 to (the number of backgrounds)
go bg i
hide bg btn "Right"
hide bg btn "Left"
end repeat
hide tool window
hide message
put "st" & " " into word 4 of optionsData
set the userLevel to 2
else
repeat with i = 1 to (the number of backgrounds)
go bg i
show bg btn "Right"
show bg btn "Left"
end repeat
show tool window
put "te" & " " into word 4 of optionsData
set the userLevel to 5
end if
end studentView
on cutCard --on the X button on palette "Teacher"
global optionsData, idNum
if word 4 of optionsData contains "st"
then
Answer "You are in student preview mode. Click on the EYE icon to change to the teacher mode and try again." with "OK"
exit cutCard
end if
answer "Do you want to delete this card?" with "Yes" or "No"
if it is "Yes"
then
idNumCheck
go cd id idNum
doMenu Cut card
unlock screen
else
exit cutCard
end if
end cutCard
on idNumCheck --on the X button on palette "Teacher"
global idNum, positiveCard
put the short id of this card into idNum
set the cursor to watch
repeat with count = 1 to the number of words in positiveCard
if word count of positiveCard contains idNum
then
pushIt
put empty into word count of fld "Positive Data"
put fld "Positive Data" into positiveCard
pop card
exit repeat
end if
end repeat
end idNumCheck
on printMe
choose browse tool
answer "Do you want to print?" with "Yes" or "Cancel"
if it is "Cancel"
then
exit printMe
else
printStuff
end if
end printMe
on printStuff
answer "Print what?" with "A field?" or "This card?" or "Stack?"
if it is "A field?"
then
doMenu "Print field..."
else
if it is "This card?"
then
doMenu "Print card"
else
if it is "Stack?"
then
doMenu "Print stack..."
end if
end if
end if
end printStuff
on showTool
global optionsData
if word 4 of optionsData contains "st"
then
Answer "You are in student preview mode. Click on the EYE icon to change to the teacher mode and try again." with "OK"
exit showTool
end if
answer "Do you want to use the tools menu?" with "Cancel" or "Yes"
if it is "Cancel"
then
exit showTool
else
show tool window at 443,20
end if
end showTool
on newOne
global optionsData
if word 4 of optionsData contains "st"
then
Answer "You are in student preview mode. Click on the EYE icon to change to the teacher mode and try again." with "OK"
exit newOne
end if
--if the short name of this stack <> "HyperTEACH"
--then
answer "You are about to start a new stack. When prompted, type in a name for your stack."
lock screen
go first
ask "Name of your new stack:" with "Type file name here."
put it into newName
create stack newName with bg "MSTR"
palette "Teacher", "30, 50"
-- end if
end newOne
on importPict
global optionsData
if word 4 of optionsData contains "st"
then
Answer "You are in student preview mode. Click on the EYE icon to change to the teacher mode and try again." with "OK"
exit importPict
end if
answer "Do you want to import a MacPaint-type picture?" with "OK" or "Cancel"
if it is "Cancel"
then
choose browse tool
exit importPict
else
doImport
end if
choose browse tool
end importPict
on doImport
lock screen
choose select tool
answer "Do you want the picture imported on this card or on a new card?" with "This card" or "New Card"